Supplying content aware photo filters

ABSTRACT

A server includes a photo filter module with instructions executed by a processor to identify when a client device captures a photograph. Photograph filters are selected based upon attributes of the client device and attributes of the photograph. The photograph filters are supplied to the client device.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims the benefit of priority to U.S. patent application Ser. No. 16/773,601, filed Jan. 27, 2020, which is a continuation of and claims the benefit of priority to U.S. patent application Ser. No. 16/175,288, filed Nov. 1, 2018, which is a continuation of and claims the benefit of priority of U.S. patent application Ser. No. 15/224,262, filed Jul. 29, 2016, which is a continuation of U.S. patent application Ser. No. 14/977,380 filed on Dec. 21, 2015, which is a continuation of U.S. patent application Ser. No. 14/325,270, filed Jul. 7, 2014 (now U.S. Pat. No. 9,225,897), the contents of which are incorporated herein by reference.

FIELD OF THE INVENTION

This invention relates generally to photographs taken by a mobile device operative in a networked environment. More particularly, this invention relates to supplying such a mobile device with content aware photo filters.

BACKGROUND OF THE INVENTION

The number of digital photographs taken with mobile wireless devices is increasingly outnumbering photographs taken with dedicated digital and film based cameras. Thus, there are growing needs to improve the experience associated with mobile wireless digital photography.

SUMMARY OF THE INVENTION

A server includes a photo filter module with instructions executed by a processor to identify when a client device captures a photograph. Photograph filters are selected based upon attributes of the client device and attributes of the photograph. The photograph filters are supplied to the client device.

BRIEF DESCRIPTION OF THE FIGURES

The invention is more fully appreciated in connection with the following detailed description taken in conjunction with the accompanying drawings, in which:

FIG. 1 illustrates an electronic device utilized in accordance with an embodiment of the invention.

FIG. 2 illustrates a networked system utilized in accordance with an embodiment of the invention.

FIG. 3 illustrates processing operations associated with an embodiment of the invention.

FIG. 4 illustrates a photograph taken by a digital mobile device.

FIG. 5 illustrates a general filter applied to the photograph.

FIG. 6 illustrates a feature specific filter applied to the photograph.

FIG. 7 illustrates a different feature specific filter with a branded element applied to the photograph.

Like reference numerals refer to corresponding parts throughout the several views of the drawings.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates an electronic device 100 utilized in accordance with an embodiment of the invention. In one embodiment, the electronic device 100 is a Smartphone with a processor 102 in communication with a memory 104. The processor 102 may be a central processing unit and/or a graphics processing unit. The memory 104 is a combination of flash memory and random access memory. The memory 104 stores a photo controller 106. The photo controller 106 includes executable instructions to coordinate the capture, display and archiving of digital photographs. The photo controller 106 may include photo filter processing disclosed herein, winch augments or replaces such photo filter processing that is described below in connection with a server based photo filter module.

The processor 102 is also coupled to image sensors 115. The image sensors 115 may be known digital image sensors, such as charge coupled devices. The image sensors capture visual media, winch is presented on display 116, as coordinated by the photo controller 106.

A touch controller 118 is connected to the display 116 and the processor 102. The touch controller 118 is responsive to haptic signals applied to the display 116. In one embodiment, the photo controller 106 monitors signals from the touch controller 118 to coordinate the capture, display and archiving of digital photographs. The electronic device 100 may also include other components commonly associated with a Smartphone, such as a wireless signal processor 120 to support wireless communications, a power control circuit 122 and a global positioning system processor 124.

FIG. 2 illustrates a system 200 configured in accordance with an embodiment of the invention. The system 200 includes a set of client devices 100_1 through 100_N. The client devices 100 are connected to a network 206, which is any combination of wireless and wired network communication devices. A server 204 is also connected to the network 206. The server 204 includes standard components, such as a central processing unit 210 and input/output devices 212 connected via a bus 214. The input/output devices 212 may include a keyboard, mouse, display and the like. A network interface circuit 216 is also connected to the bus 214 to provide connectivity to network 206. A memory 220 is also connected to the bus 214. The memory 220 includes modules with executable instructions, such as a photo filter module 222. The photo fitter module 222 implements photo evaluation and filter selection operations, as discussed below.

FIG. 3 illustrates processing operations associated with an embodiment of the invention. The operations are performed by the photo filter module 222 of server 204 in combination with one or more client devices 100. Initially, the photo filter module 222 serves a photo prompt 300. For example, the photo filter module 222 may form a segment of a network executed application that coordinates taking photographs and appending messages to such photographs for delivery from one user to another. In this context, client 100_1 accesses the photo filter module 222 over network 206 to activate the application, which serves the photo prompt to the client 100_1. A user at the client 100_1 takes a photo 302.

FIG. 4 illustrates client device 100_1 with a display 400 that presents a photo prompt 402. Activation of the photo prompt 402 results in a picture 404. The photo filter module 222 monitors the client device activity to determine if a photo is taken 304. If so, the attributes of the photograph and client device are evaluated 305. Photo filters are selected and supplied 306 based upon the evaluation.

By way of example, the attributes of the client device may include geolocation of the client device, which is collected from the GPS processor 124. The geolocation may be used to designate photo filters relevant to the geolocation. For example, if the geolocation is proximate to a beach, then photo filters to augment a beach setting (e.g., a color filter for water, sand and/or sky) may be supplied. The geolocation may be used to select a filter with a brand associated with an establishment proximate to the geolocation. For example, a restaurant or store may sponsor a photo filter that includes a brand associated with the restaurant or store. In this case, in addition to the brand, the photo filter may include other indicia associated with the restaurant (e.g., an image of a hamburger or taco) or store (e.g., an image of a surfboard or sun glasses).

The attributes associated with the client device may include established preferences associated with the client device. The established preferences may be defined by explicitly stated preferences supplied by a user. Alternately, the established preferences may be derived from prior use patterns. For example, explicitly stated or derived preferences may indicate that photo fitters with a temperature overlay, date and/or time overlay be supplied.

The attributes of the photograph may include the physical environment captured in the photograph. For example, the photograph may be evaluated to identify an urban setting, a rural setting, a sunset a seascape and the like. Filters applicable to the physical environment may then be supplied.

The attributes of the photograph may include an object depicted in the photograph. For example, the evaluation may identify a building, a building feature (e.g., door or roof), a flower, an individual, an animal and the like. Filters applicable to such objects may then be supplied.

The next operation of FIG. 3 is to apply the photo filters 308. For example, a swipe across the display of a client device 100_1 may cause a photo filter to slide across the original photo. FIG. 5 illustrates the result of a first swipe motion, which results in a darkening filter 500 being applied to the original photo. Another swipe motion may result in another filter being presented. For example, FIG. 6 illustrates the result of a second swipe motion, which results in an object specific filter 600 being presented. In this case, the object specific filter 600 relates to the identification of a door in the photo. The identification of the door may result in the supply of a variety of filters for different door colors. Another swipe of the display may result in still another filter, such as shown in FIG. 7 . The filter of FIG. 7 includes an object specific filter 700, in this case for a roof of a building. The filter also includes a brand component 702. This filter also includes an overlay of the temperature 704 when the photo was taken. A time overlay 706 and date overlay 708 are also supplied.

Returning to FIG. 3 , the next operation is to select a photo filter 310. Selection of a photo filter may include selection of one or more available filters. The photo may then be saved with the applicable filter or filters. The photo and filter may also be sent to another user 312. In this case, the server 204 routes 314 the photo to another client 100_2, which displays the photo with the filter 316.

Photograph filters may also be selected based upon popular filters. Branded filters may be supplied based upon an auction mechanism. For example, vendors may bid on photo filters to be supplied based upon characteristics of a user, location of a user, content of a photograph and the like.

An embodiment of the present invention relates to a computer storage product with a non-transitory computer readable storage medium having computer code thereon for performing various computer-implemented operations. The media and computer code may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well known and available to those having skill in the computer software arts. Examples of computer-readable media include, but are not limited to: magnetic media, optical media, magneto-optical media and hardware devices that are specially configured to store and execute program code, such as application-specific integrated circuits (“ASICs”), programmable logic devices (“PLDs”) and ROM and RAM devices. Examples of computer code include machine code, such as produced by a compiler, and files containing higher-level code that are executed by a computer using an interpreter. For example, an embodiment of the invention may be implemented using JAVA®, C++, or other object-oriented programming language and development tools. Another embodiment of the invention may be implemented in hardwired circuitry in place of, or in combination with, machine-executable software instructions.

The foregoing description, for purposes of explanation, used specific nomenclature to provide a thorough understanding of the invention. However, it will be apparent to one skilled in the art that specific details are not required in order to practice the invention. Thus, the foregoing descriptions of specific embodiments of the invention are presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed; obviously, many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, they thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the following claims and their equivalents define the scope of the invention. 

The invention claimed is:
 1. A server comprising: a processor configured to execute instructions for performing operations comprising: selecting a plurality of photograph filters according to bids from vendors, where the bids from the vendors are based on characteristics of a user of a client device, a location of the client device, and content of an image captured and displayed by the client device, each of the plurality of photograph filters being configured to overlay the image captured and displayed by the client device to augment the image captured and displayed by the client device, wherein a first filter of the plurality of photograph filters slides across the image captured and displayed by the client device in response to a first input and a second filter of the plurality of photograph filters slides across the image captured and displayed by the client device augmented by the first filter in response to a second input being received after the first input is received.
 2. The server of claim 1, wherein the operations further comprise: receiving, as the first input, a first swipe motion, wherein the second filter is configured to augment only a first particular feature of an object depicted in the image capture by the client device.
 3. The server of claim 1, wherein a given one of the plurality of photograph filters comprises weather information at a time at which the image was captured by the client device.
 4. The server of claim 3, wherein the weather information comprises a temperature at the time at which the image was captured, and wherein the plurality of photograph filters is configured to be independently and alternatively selectable by a user to overlay the image.
 5. The server of claim 1, wherein the plurality of photograph filters is selected by the server based upon a geolocation of the client device on which the image is captured and displayed and an object depicted in the image.
 6. The server of claim 1, wherein a selected one of the plurality of photograph filters and a photograph corresponding to the image captured and displayed by the client device are routed by a server to another client device.
 7. The server of claim 1, wherein the first filter includes an object specific filter, and wherein the second filter includes textual content that is excluded from the first filter.
 8. The server of claim 1, wherein the operations further comprise causing the second filter to supply, to the client device, a variety of filters with different visual attributes of a first particular feature of an object.
 9. The server of claim 1, wherein a given one of the plurality of photograph filters includes brand indicia and an image associated with the brand indicia.
 10. The server of claim 1, wherein the first filter that overlays the image captured and displayed by the client device is replaced by the second filter in response to input to cause the second filter to overlay the image captured and displayed by the client device, wherein a third filter of the plurality of photograph filters that is configured to modify a particular feature of an object depicted in the image captured and displayed by the client device is selected in response to a third input received after the second input, wherein the third filter includes textual content that is excluded from the first and second filters.
 11. The server of claim 1, wherein the plurality of photograph filters is configured to be independently selectable in response to a gesture applied to the image captured and displayed by the client device as presented on the client device and the plurality of photograph filters is selected by a server based on popularity.
 12. The server of claim 1, wherein a given one of the plurality of photograph filters includes a brand associated with an establishment proximate to a geolocation of the client device and an indicia associated with the brand, wherein the first filter includes a first brand of a restaurant that sponsors the first filter and an image of a food item associated with the restaurant, and wherein the second filter includes a second brand of a store that sponsors the second filter and an image of a tangible item associated with the store.
 13. The server of claim 12, wherein the image of the food item in the first filter comprises an image of a hamburger or taco, and wherein the image of the tangible item in the second filter comprises an image of a surfboard or sunglasses.
 14. The server of claim 1, wherein a given one of the plurality of photograph filters includes a brand associated with an establishment proximate to a geolocation of the client device.
 15. The server of claim 1, wherein an attribute of the client device is identified based on established preferences of the user associated with the client device, and wherein the plurality of photograph filters is selected by the server based upon one or more attributes of the client device and one or more attributes of the image captured and displayed by the client device.
 16. The server of claim 15, wherein the established preferences are derived from prior use patterns of the user.
 17. The server of claim 15, wherein the one or more attributes of the image captured and displayed by the client device include a physical environment captured in the image.
 18. The server of claim 1, wherein the operations further comprise appending a message to the image captured and displayed by the client device.
 19. A method comprising: selecting, by a server, a plurality of photograph filters according to bids from vendors, where the bids from the vendors are based on characteristics of a user of a client device, a location of the client device, and content of an image captured and displayed by the client device captured and displayed by the client device, each of the plurality of photograph filters being configured to overlay the image captured and displayed by the client device to augment the image captured and displayed by the client device, wherein a first filter of the plurality of photograph filters slides across the image in response to a first input and a second filter of the plurality of photograph filters slides across the image captured and displayed by the client device augmented by the first filter in response to a second input being received after the first input is received.
 20. A non-transitory machine-readable storage medium that includes instructions that, when executed by one or more processors of a server, cause the server to perform operations comprising: selecting a plurality of photograph filters according to bids from vendors, where the bids from the vendors are based on characteristics of a user of a client device, a location of the client device, and content of an image captured and displayed by the client device, each of the plurality of photograph filters being configured to overlay the image captured and displayed by the client device to augment the image captured and displayed by the client device, wherein a first filter of the plurality of photograph filters slides across the image captured and displayed by the client device in response to a first input and a second filter of the plurality of photograph filters slides across the image captured and displayed by the client device augmented by the first filter in response to a second input being received after the first input is received. 